/* ========================================================================= */
/* ------------------------------------------------------------------------- */
/*!		
  \file			filtopts.h
  \date			Aug 2011
  \author		TNick

  \brief		Contains the definition for FiltOpts class


 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @n
 Please read ReadMe.txt and Licence.txt in root folder @n
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @n

*/
/* ------------------------------------------------------------------------- */
/* ========================================================================= */
#ifndef __FILTOPTS_INC__
#define __FILTOPTS_INC__
//
//
//
//
/*  INCLUDES    ------------------------------------------------------------ */

#include    <QMainWindow>
#include    <QWidget>
#include    <QListWidgetItem>
#include    <QList>

class       AbstractFilter;

/*  INCLUDES    ============================================================ */
//
//
//
//
/*  CLASS    --------------------------------------------------------------- */

class       TabPage     : public QWidget    {

public:

    void *              user_data;
    AbstractFilter *    abst_flt;
    QListWidgetItem *   a_lw_i;

    TabPage(QWidget *   parent = 0) : QWidget(parent) {}
    virtual ~TabPage() {}

};


namespace Ui {
class FiltOpts;
}

/// form that manages options related to filters
class FiltOpts : public QMainWindow		{
    Q_OBJECT
	//
	//
	//
	//
	/*  DEFINITIONS    ----------------------------------------------------- */

	/*  DEFINITIONS    ===================================================== */
	//
	//
	//
	//
	/*  DATA    ------------------------------------------------------------ */

private:

    /// GUI components
    Ui::FiltOpts *        ui;
	
    /// easy access to list (is a duplicate, as tab control also stores one)
    QList<TabPage*>       tab_list;

	/*  DATA    ============================================================ */
	//
	//
	//
	//
	/*  FUNCTIONS    ------------------------------------------------------- */

public:

	/// constructor;
	/**
 *	extended description
 */
    explicit			FiltOpts		(QWidget *parent = 0);

	/// destructor;
	/**
 *	extended description
 */
    ~FiltOpts		(void);


	
	/*  FUNCTIONS    ======================================================= */
	//
	//
	//
	//

private slots:
    void on_buttonBox_accepted();
};	/*	class FiltOpts	*/

/*  CLASS    =============================================================== */
//
//
//
//
#endif // __FILTOPTS_INC__
/* ------------------------------------------------------------------------- */
/* ========================================================================= */
